home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / vh-1_5.lha / vh-1.5 / README.AMIGA < prev    next >
Text File  |  1993-05-11  |  5KB  |  152 lines

  1. Some notes on the Amiga port of the jargon browser:
  2.  
  3. - You need to assign jargon: to the directory where the jargon file lies
  4.   (so you can refer to the jargon file as jargon:jargon.txt)
  5.  
  6. - 2.0 users: The jargon program tries to open a custom screen as large as
  7.   the workbench screen, even if that is very large and autoscrolling. This
  8.   sometimes fails (or the program won't work correctly). Fix: Open a public
  9.   screen with the desired size (e.g. with PSX by Steve Tibbett), open a
  10.   shell on it (e.g. newshell "con:0/0/640/200/Title/SCREEN
  11.   YourScreenNameHere") and start the jargon program from that shell - it
  12.   will open a screen as large as the active screen (at least it does for
  13.   me... :-) )
  14.  
  15. - 2.0 users again: Due to the Amiga curses port relying on a fixed font
  16.   height and width of 8 pixels, you cannot use another font than topaz.8. I
  17.   modified the curses code so that it will explicitely ask for "topaz.8"
  18.   instead of using the default font - which wouldn't work.
  19.  
  20. - Users of "PopUpMenu" by Martin Adrian: On the jargon screen, there is
  21.   a menu bar which shows you the name of the Amiga curses author. Popupmenu
  22.   seems to get confused as there are no menu items, so it will crash (at
  23.   least version 4.2 does on my machine). So don't press the right mouse
  24.   button on the jargon screen when PopUpMenu is enabled (the mouse is not
  25.   supported by the Amiga port anyway...)
  26.  
  27. - jargon can be run only from the CLI, when called from workbench it just
  28.   exits.
  29.  
  30. This port would not have been possible (at least not this year :-)) without
  31. Simon John Raybould's (sie@fulcrum.bt.co.uk) Amiga curses (thanks to him).
  32. I only changed some minor things (added 3 functions for my C compiler (DICE
  33. 2.06.37R, thanks to Matt Dillon), used 2 bitplanes instead of 4 for the
  34. screen, changed the font to topaz.8 and fixed clearok() so that jargon
  35. wouldn't clear and redraw the whole screen on every keystroke, diffs are
  36. included).
  37.  
  38. Apropos Amiga curses: I used version 1.23 from March 1991, it's
  39. ftp'able from funic.funet.fi, directory pub/amiga/new (if I remember
  40. right).
  41.  
  42. Georg Sassen
  43. georg@bluemoon.GUN.de
  44.  
  45. Here are the diffs for Amiga curses:
  46.  
  47. *** curses-1.23.orig/src/curses.c    Mon Mar 18 21:43:32 1991
  48. --- curses-1.23/src/curses.c    Sun Dec 22 13:03:21 1991
  49. *************** static char *rcsid = "$Header: QUANTUM:S
  50. *** 51,57 ****
  51. --- 51,61 ----
  52.   
  53.   #include "acurses.h"
  54.   
  55. + #if 1
  56. + struct TextAttr foo = {"topaz.font",8,0,0};
  57. + #endif
  58.   
  59.   /* Main background screen */
  60.   static struct NewScreen NewScreen = {
  61.     0,                /* LeftEdge */
  62. *************** static struct NewScreen NewScreen = {
  63. *** 58,68 ****
  64. --- 62,80 ----
  65.     0,                /* TopEdge */
  66.     0,                /* Width */
  67.     0,                /* Height */
  68. + #if 0
  69.     4,                /* No. Bitplanes */
  70. + #else
  71. +   2,                /* No. Bitplanes */
  72. + #endif
  73.     0, 1,             /* DetailPen, BlockPen */
  74.     HIRES,            /* ViewModes */
  75.     CUSTOMSCREEN,         /* Screen type */
  76. + #if 0
  77.     (struct TextAttr *)NULL,  /* default font */
  78. + #else
  79. +   (struct TextAttr *)&foo,  /* topaz 8  */
  80. + #endif
  81.     "Curses screen",          /* Screen Title */
  82.     (struct Gadget *)NULL,    /* Gadget list */
  83.     (struct BitMap *)NULL     /* custom bitmap */
  84. *************** static void CleanExit(), CleanUp(), DoEc
  85. *** 131,137 ****
  86.   static void ZapCursor(), DrawCursor();
  87.        
  88.   /* Define a blank mouse pointer */
  89. ! static USHORT __chip MyMsPtr[] = { 0, 0, 0, 0 };
  90.        
  91.   #define NCOLOURS  32
  92.        
  93. --- 143,149 ----
  94.   static void ZapCursor(), DrawCursor();
  95.   
  96.   /* Define a blank mouse pointer */
  97. ! static __chip USHORT MyMsPtr[] = { 0, 0, 0, 0 };
  98.   
  99.   #define NCOLOURS  32
  100.   
  101. *************** initscr()
  102. *** 228,237 ****
  103. --- 240,256 ----
  104.     stdscr = newwin(LINES, COLS, 0, 0);
  105.     curscr = newwin(LINES, COLS, 0, 0);  /* used for redraws */
  106.     clearok(curscr, TRUE);  /* Clear curscr on every refresh */
  107. + #ifndef _DCC
  108.     if(onbreak(BreakHandler)) {
  109.       fprintf(stderr, "Failed to set BREAK handler.\n");
  110.       CleanExit(10);
  111.     }
  112. + #else /* onbreak returns old func pointer */
  113. +   if(!onbreak(BreakHandler)) {
  114. +     fprintf(stderr, "Failed to set BREAK handler.\n");
  115. +     CleanExit(10);
  116. +   }
  117. + #endif
  118.     return OK;
  119.   }
  120.   
  121. *************** wrefresh(WinPtr)
  122. *** 961,966 ****
  123. --- 980,986 ----
  124.       memcpy(WinStat->LnArry[Line].LRLine, WinStat->LnArry[Line].Line, WinPtr->_maxx+1);
  125.       memcpy(WinStat->LnArry[Line].LRATTRS, WinStat->LnArry[Line].ATTRS, sizeof(short) * (WinPtr->_maxx+1));
  126.     }
  127. +   WinPtr->_clear = FALSE; /* clrok() only valid for one wrefresh() call  */
  128.     DrawCursor();
  129.     return OK;
  130.   }
  131. *************** static int BreakHandler()
  132. *** 1751,1753 ****
  133. --- 1771,1787 ----
  134.     fprintf(stderr, "Amiga Curses aborting after recieving signal\n");
  135.     return 1;
  136.   }
  137. + #ifdef _DCC
  138. + int max(int a,b)
  139. + {
  140. +     return (a>b?a:b);
  141. + }
  142. + int min(int a,b)
  143. + {
  144. +     return (a<b?a:b);
  145. + }
  146. + char killchar() {
  147. +     return 0x7f;
  148. + }
  149. + #endif
  150.